/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package ccore.constraint;

import ccore.common.CommonPackage;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see ccore.constraint.ConstraintFactory
 * @model kind="package"
 * @generated
 */
public interface ConstraintPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "constraint";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://constraint";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "constraint";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	ConstraintPackage eINSTANCE = ccore.constraint.impl.ConstraintPackageImpl.init();

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CConstraintExprImpl <em>CConstraint Expr</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CConstraintExprImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCConstraintExpr()
	 * @generated
	 */
	int CCONSTRAINT_EXPR = 0;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT_EXPR__CCORE = CommonPackage.CNODE__CCORE;

	/**
	 * The number of structural features of the '<em>CConstraint Expr</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT_EXPR_FEATURE_COUNT = CommonPackage.CNODE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CIntCompareImpl <em>CInt Compare</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CIntCompareImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCIntCompare()
	 * @generated
	 */
	int CINT_COMPARE = 1;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_COMPARE__CCORE = CCONSTRAINT_EXPR__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_COMPARE__PARAMETERS = CCONSTRAINT_EXPR_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CInt Compare</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_COMPARE_FEATURE_COUNT = CCONSTRAINT_EXPR_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CEqImpl <em>CEq</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CEqImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCEq()
	 * @generated
	 */
	int CEQ = 2;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CEQ__CCORE = CINT_COMPARE__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CEQ__PARAMETERS = CINT_COMPARE__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CEq</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CEQ_FEATURE_COUNT = CINT_COMPARE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CNeqImpl <em>CNeq</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CNeqImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCNeq()
	 * @generated
	 */
	int CNEQ = 3;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CNEQ__CCORE = CINT_COMPARE__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CNEQ__PARAMETERS = CINT_COMPARE__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CNeq</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CNEQ_FEATURE_COUNT = CINT_COMPARE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CLtImpl <em>CLt</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CLtImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCLt()
	 * @generated
	 */
	int CLT = 4;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLT__CCORE = CINT_COMPARE__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLT__PARAMETERS = CINT_COMPARE__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CLt</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLT_FEATURE_COUNT = CINT_COMPARE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CLeqImpl <em>CLeq</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CLeqImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCLeq()
	 * @generated
	 */
	int CLEQ = 5;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLEQ__CCORE = CINT_COMPARE__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLEQ__PARAMETERS = CINT_COMPARE__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CLeq</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLEQ_FEATURE_COUNT = CINT_COMPARE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CLogicConstraintImpl <em>CLogic Constraint</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CLogicConstraintImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCLogicConstraint()
	 * @generated
	 */
	int CLOGIC_CONSTRAINT = 6;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLOGIC_CONSTRAINT__CCORE = CCONSTRAINT_EXPR__CCORE;

	/**
	 * The number of structural features of the '<em>CLogic Constraint</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CLOGIC_CONSTRAINT_FEATURE_COUNT = CCONSTRAINT_EXPR_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CAndImpl <em>CAnd</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CAndImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCAnd()
	 * @generated
	 */
	int CAND = 7;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CAND__CCORE = CLOGIC_CONSTRAINT__CCORE;

	/**
	 * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CAND__CONSTRAINTS = CLOGIC_CONSTRAINT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CAnd</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CAND_FEATURE_COUNT = CLOGIC_CONSTRAINT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.COrImpl <em>COr</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.COrImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCOr()
	 * @generated
	 */
	int COR = 8;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int COR__CCORE = CLOGIC_CONSTRAINT__CCORE;

	/**
	 * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int COR__CONSTRAINTS = CLOGIC_CONSTRAINT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>COr</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int COR_FEATURE_COUNT = CLOGIC_CONSTRAINT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CImpImpl <em>CImp</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CImpImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCImp()
	 * @generated
	 */
	int CIMP = 9;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CIMP__CCORE = CLOGIC_CONSTRAINT__CCORE;

	/**
	 * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CIMP__CONSTRAINTS = CLOGIC_CONSTRAINT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CImp</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CIMP_FEATURE_COUNT = CLOGIC_CONSTRAINT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CNotImpl <em>CNot</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CNotImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCNot()
	 * @generated
	 */
	int CNOT = 10;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CNOT__CCORE = CLOGIC_CONSTRAINT__CCORE;

	/**
	 * The feature id for the '<em><b>Constraint</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CNOT__CONSTRAINT = CLOGIC_CONSTRAINT_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CNot</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CNOT_FEATURE_COUNT = CLOGIC_CONSTRAINT_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CNConstraintImpl <em>CN Constraint</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CNConstraintImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCNConstraint()
	 * @generated
	 */
	int CN_CONSTRAINT = 11;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CN_CONSTRAINT__CCORE = CCONSTRAINT_EXPR__CCORE;

	/**
	 * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CN_CONSTRAINT__CONSTRAINTS = CCONSTRAINT_EXPR_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CN Constraint</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CN_CONSTRAINT_FEATURE_COUNT = CCONSTRAINT_EXPR_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.COneConstraintImpl <em>COne Constraint</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.COneConstraintImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCOneConstraint()
	 * @generated
	 */
	int CONE_CONSTRAINT = 12;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CONE_CONSTRAINT__CCORE = CCONSTRAINT_EXPR__CCORE;

	/**
	 * The feature id for the '<em><b>Constraint</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CONE_CONSTRAINT__CONSTRAINT = CCONSTRAINT_EXPR_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>COne Constraint</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CONE_CONSTRAINT_FEATURE_COUNT = CCONSTRAINT_EXPR_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CConstraintImpl <em>CConstraint</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CConstraintImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCConstraint()
	 * @generated
	 */
	int CCONSTRAINT = 13;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT__CCORE = CommonPackage.CELEMENT__CCORE;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT__NAME = CommonPackage.CELEMENT__NAME;

	/**
	 * The feature id for the '<em><b>Id</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT__ID = CommonPackage.CELEMENT__ID;

	/**
	 * The feature id for the '<em><b>Comment</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT__COMMENT = CommonPackage.CELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Constraint</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT__CONSTRAINT = CommonPackage.CELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Variables</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT__VARIABLES = CommonPackage.CELEMENT_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>CConstraint</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CCONSTRAINT_FEATURE_COUNT = CommonPackage.CELEMENT_FEATURE_COUNT + 3;


	/**
	 * The meta object id for the '{@link ccore.constraint.impl.CTwoConstraintImpl <em>CTwo Constraint</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.constraint.impl.CTwoConstraintImpl
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getCTwoConstraint()
	 * @generated
	 */
	int CTWO_CONSTRAINT = 14;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CTWO_CONSTRAINT__CCORE = CCONSTRAINT_EXPR__CCORE;

	/**
	 * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CTWO_CONSTRAINT__CONSTRAINTS = CCONSTRAINT_EXPR_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CTwo Constraint</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CTWO_CONSTRAINT_FEATURE_COUNT = CCONSTRAINT_EXPR_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '<em>Constraint</em>' data type.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see choco.Constraint
	 * @see ccore.constraint.impl.ConstraintPackageImpl#getConstraint()
	 * @generated
	 */
	int CONSTRAINT = 15;


	/**
	 * Returns the meta object for class '{@link ccore.constraint.CConstraintExpr <em>CConstraint Expr</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CConstraint Expr</em>'.
	 * @see ccore.constraint.CConstraintExpr
	 * @generated
	 */
	EClass getCConstraintExpr();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CIntCompare <em>CInt Compare</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CInt Compare</em>'.
	 * @see ccore.constraint.CIntCompare
	 * @generated
	 */
	EClass getCIntCompare();

	/**
	 * Returns the meta object for the containment reference list '{@link ccore.constraint.CIntCompare#getParameters <em>Parameters</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Parameters</em>'.
	 * @see ccore.constraint.CIntCompare#getParameters()
	 * @see #getCIntCompare()
	 * @generated
	 */
	EReference getCIntCompare_Parameters();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CEq <em>CEq</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CEq</em>'.
	 * @see ccore.constraint.CEq
	 * @generated
	 */
	EClass getCEq();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CNeq <em>CNeq</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CNeq</em>'.
	 * @see ccore.constraint.CNeq
	 * @generated
	 */
	EClass getCNeq();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CLt <em>CLt</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CLt</em>'.
	 * @see ccore.constraint.CLt
	 * @generated
	 */
	EClass getCLt();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CLeq <em>CLeq</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CLeq</em>'.
	 * @see ccore.constraint.CLeq
	 * @generated
	 */
	EClass getCLeq();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CLogicConstraint <em>CLogic Constraint</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CLogic Constraint</em>'.
	 * @see ccore.constraint.CLogicConstraint
	 * @generated
	 */
	EClass getCLogicConstraint();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CAnd <em>CAnd</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CAnd</em>'.
	 * @see ccore.constraint.CAnd
	 * @generated
	 */
	EClass getCAnd();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.COr <em>COr</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>COr</em>'.
	 * @see ccore.constraint.COr
	 * @generated
	 */
	EClass getCOr();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CImp <em>CImp</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CImp</em>'.
	 * @see ccore.constraint.CImp
	 * @generated
	 */
	EClass getCImp();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CNot <em>CNot</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CNot</em>'.
	 * @see ccore.constraint.CNot
	 * @generated
	 */
	EClass getCNot();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CNConstraint <em>CN Constraint</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CN Constraint</em>'.
	 * @see ccore.constraint.CNConstraint
	 * @generated
	 */
	EClass getCNConstraint();

	/**
	 * Returns the meta object for the containment reference list '{@link ccore.constraint.CNConstraint#getConstraints <em>Constraints</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Constraints</em>'.
	 * @see ccore.constraint.CNConstraint#getConstraints()
	 * @see #getCNConstraint()
	 * @generated
	 */
	EReference getCNConstraint_Constraints();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.COneConstraint <em>COne Constraint</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>COne Constraint</em>'.
	 * @see ccore.constraint.COneConstraint
	 * @generated
	 */
	EClass getCOneConstraint();

	/**
	 * Returns the meta object for the containment reference '{@link ccore.constraint.COneConstraint#getConstraint <em>Constraint</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Constraint</em>'.
	 * @see ccore.constraint.COneConstraint#getConstraint()
	 * @see #getCOneConstraint()
	 * @generated
	 */
	EReference getCOneConstraint_Constraint();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CConstraint <em>CConstraint</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CConstraint</em>'.
	 * @see ccore.constraint.CConstraint
	 * @generated
	 */
	EClass getCConstraint();

	/**
	 * Returns the meta object for the attribute '{@link ccore.constraint.CConstraint#getComment <em>Comment</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Comment</em>'.
	 * @see ccore.constraint.CConstraint#getComment()
	 * @see #getCConstraint()
	 * @generated
	 */
	EAttribute getCConstraint_Comment();

	/**
	 * Returns the meta object for the containment reference '{@link ccore.constraint.CConstraint#getConstraint <em>Constraint</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Constraint</em>'.
	 * @see ccore.constraint.CConstraint#getConstraint()
	 * @see #getCConstraint()
	 * @generated
	 */
	EReference getCConstraint_Constraint();

	/**
	 * Returns the meta object for the reference list '{@link ccore.constraint.CConstraint#getVariables <em>Variables</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Variables</em>'.
	 * @see ccore.constraint.CConstraint#getVariables()
	 * @see #getCConstraint()
	 * @generated
	 */
	EReference getCConstraint_Variables();

	/**
	 * Returns the meta object for class '{@link ccore.constraint.CTwoConstraint <em>CTwo Constraint</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CTwo Constraint</em>'.
	 * @see ccore.constraint.CTwoConstraint
	 * @generated
	 */
	EClass getCTwoConstraint();

	/**
	 * Returns the meta object for the containment reference list '{@link ccore.constraint.CTwoConstraint#getConstraints <em>Constraints</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Constraints</em>'.
	 * @see ccore.constraint.CTwoConstraint#getConstraints()
	 * @see #getCTwoConstraint()
	 * @generated
	 */
	EReference getCTwoConstraint_Constraints();

	/**
	 * Returns the meta object for data type '{@link choco.Constraint <em>Constraint</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for data type '<em>Constraint</em>'.
	 * @see choco.Constraint
	 * @model instanceClass="choco.Constraint"
	 * @generated
	 */
	EDataType getConstraint();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	ConstraintFactory getConstraintFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CConstraintExprImpl <em>CConstraint Expr</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CConstraintExprImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCConstraintExpr()
		 * @generated
		 */
		EClass CCONSTRAINT_EXPR = eINSTANCE.getCConstraintExpr();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CIntCompareImpl <em>CInt Compare</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CIntCompareImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCIntCompare()
		 * @generated
		 */
		EClass CINT_COMPARE = eINSTANCE.getCIntCompare();

		/**
		 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CINT_COMPARE__PARAMETERS = eINSTANCE.getCIntCompare_Parameters();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CEqImpl <em>CEq</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CEqImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCEq()
		 * @generated
		 */
		EClass CEQ = eINSTANCE.getCEq();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CNeqImpl <em>CNeq</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CNeqImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCNeq()
		 * @generated
		 */
		EClass CNEQ = eINSTANCE.getCNeq();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CLtImpl <em>CLt</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CLtImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCLt()
		 * @generated
		 */
		EClass CLT = eINSTANCE.getCLt();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CLeqImpl <em>CLeq</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CLeqImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCLeq()
		 * @generated
		 */
		EClass CLEQ = eINSTANCE.getCLeq();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CLogicConstraintImpl <em>CLogic Constraint</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CLogicConstraintImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCLogicConstraint()
		 * @generated
		 */
		EClass CLOGIC_CONSTRAINT = eINSTANCE.getCLogicConstraint();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CAndImpl <em>CAnd</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CAndImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCAnd()
		 * @generated
		 */
		EClass CAND = eINSTANCE.getCAnd();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.COrImpl <em>COr</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.COrImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCOr()
		 * @generated
		 */
		EClass COR = eINSTANCE.getCOr();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CImpImpl <em>CImp</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CImpImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCImp()
		 * @generated
		 */
		EClass CIMP = eINSTANCE.getCImp();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CNotImpl <em>CNot</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CNotImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCNot()
		 * @generated
		 */
		EClass CNOT = eINSTANCE.getCNot();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CNConstraintImpl <em>CN Constraint</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CNConstraintImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCNConstraint()
		 * @generated
		 */
		EClass CN_CONSTRAINT = eINSTANCE.getCNConstraint();

		/**
		 * The meta object literal for the '<em><b>Constraints</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CN_CONSTRAINT__CONSTRAINTS = eINSTANCE.getCNConstraint_Constraints();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.COneConstraintImpl <em>COne Constraint</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.COneConstraintImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCOneConstraint()
		 * @generated
		 */
		EClass CONE_CONSTRAINT = eINSTANCE.getCOneConstraint();

		/**
		 * The meta object literal for the '<em><b>Constraint</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CONE_CONSTRAINT__CONSTRAINT = eINSTANCE.getCOneConstraint_Constraint();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CConstraintImpl <em>CConstraint</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CConstraintImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCConstraint()
		 * @generated
		 */
		EClass CCONSTRAINT = eINSTANCE.getCConstraint();

		/**
		 * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute CCONSTRAINT__COMMENT = eINSTANCE.getCConstraint_Comment();

		/**
		 * The meta object literal for the '<em><b>Constraint</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CCONSTRAINT__CONSTRAINT = eINSTANCE.getCConstraint_Constraint();

		/**
		 * The meta object literal for the '<em><b>Variables</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CCONSTRAINT__VARIABLES = eINSTANCE.getCConstraint_Variables();

		/**
		 * The meta object literal for the '{@link ccore.constraint.impl.CTwoConstraintImpl <em>CTwo Constraint</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.constraint.impl.CTwoConstraintImpl
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getCTwoConstraint()
		 * @generated
		 */
		EClass CTWO_CONSTRAINT = eINSTANCE.getCTwoConstraint();

		/**
		 * The meta object literal for the '<em><b>Constraints</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CTWO_CONSTRAINT__CONSTRAINTS = eINSTANCE.getCTwoConstraint_Constraints();

		/**
		 * The meta object literal for the '<em>Constraint</em>' data type.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see choco.Constraint
		 * @see ccore.constraint.impl.ConstraintPackageImpl#getConstraint()
		 * @generated
		 */
		EDataType CONSTRAINT = eINSTANCE.getConstraint();

	}

} //ConstraintPackage
